#ifndef DRAWING_H
#define DRAWING_H
#include "includes.h"
#include "globalstates.h"

class Drawing{
public:
    static void drawSphere(float r,int n, float red=200.0, float g=0, float b=0, bool wireframe=false);
    static void drawLine(vector3<float> start, vector3<float> end);
    static void drawLine2D(float x1, float y1, float x2, float y2);
    static void drawCube(vector3<float> center, float side);
    static void drawWireCuboid(vector3<int> start, vector3<int> end, float r=200.0, float g=0, float b=0, float width=3.0);
    static void drawWireCuboid(vector3<float> start, vector3<float> end, float r=200.0, float g=0, float b=0, float width=3.0);
    static void drawCuboid(vector3<float> start, vector3<float> end);
    static void drawPyramid(float side, float height, float r=200.0, float g=0, float b=0, bool wireframe=false);
    static void drawOnOverlay(void (*func)());
    static void drawBox(float x1, float y1, float x2, float y2);
    static void drawBoxWithoutFill(float x1, float y1, float x2, float y2);
    static void drawTriangle(float base, float height);
    static void drawWireVoxel(int x, int y, int z);
    static void beginOverlay();
    static void endOverlay();
};



#endif // DRAWING_H
